#pragma once

#include "def.h"

typedef struct _EFI_GUID
{
    uint32_t D1;
    uint16_t D2;
    uint16_t D3;
    uint8_t D4[8];
} EFI_GUID;

typedef uint32_t EFI_FVB_ATTRIBUTES_2;

typedef struct _EFI_VOLUME_HEADER
{
    uint8_t ZeroVector[16];
    EFI_GUID FileSystemGuid;
    uint64_t FvLength;
    uint32_t Signature;
    EFI_FVB_ATTRIBUTES_2 Attributes;
    uint16_t HeaderLength;
    uint16_t Checksum;
    uint16_t ExtendedHeaderOffset;
    uint8_t Reserved[1];
    uint8_t Revision;
} EFI_VOLUME_HEADER;
